[INFO] cloning repository https://github.com/Plenglin/traash
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Plenglin/traash" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlenglin%2Ftraash", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlenglin%2Ftraash'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9cd2d39e7e5d6ebe68ae2c4c02cb0b45c0b8cb2f
[INFO] building Plenglin/traash against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPlenglin%2Ftraash" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Plenglin/traash on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Plenglin/traash
[INFO] finished tweaking git repo https://github.com/Plenglin/traash
[INFO] tweaked toml for git repo https://github.com/Plenglin/traash written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/Plenglin/traash already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: build
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d63544e1e8d5862bdb5e60e5d427db8996e00ee9043109305ec182e2b5878cc6
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "d63544e1e8d5862bdb5e60e5d427db8996e00ee9043109305ec182e2b5878cc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d63544e1e8d5862bdb5e60e5d427db8996e00ee9043109305ec182e2b5878cc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d63544e1e8d5862bdb5e60e5d427db8996e00ee9043109305ec182e2b5878cc6", kill_on_drop: false }`
[INFO] [stdout] d63544e1e8d5862bdb5e60e5d427db8996e00ee9043109305ec182e2b5878cc6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 31a91b99efee472ed9a4ed377a9a031fe56643e9eb0ba9620886a304544119fe
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "31a91b99efee472ed9a4ed377a9a031fe56643e9eb0ba9620886a304544119fe", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: build
[INFO] [stderr]    Compiling libc v0.2.85
[INFO] [stderr]    Compiling nix v0.19.1
[INFO] [stderr]    Compiling traash v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::ast::Command::Single`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::ast::Command::Single;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CStr`
[INFO] [stdout]  --> src/executor.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ffi::{CStr, CString, NulError};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SIGKILL`
[INFO] [stdout]  --> src/executor.rs:5:32
[INFO] [stdout]   |
[INFO] [stdout] 5 | use nix::sys::signal::Signal::{SIGKILL, SIGTERM};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Signal`
[INFO] [stdout]  --> src/executor.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use nix::sys::signal::{kill, Signal};
[INFO] [stdout]   |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dup2`
[INFO] [stdout]  --> src/executor.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use nix::unistd::{dup2, execv, fork, pipe, ForkResult, Pid};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::BinaryOp::LogAnd`
[INFO] [stdout]  --> src/parser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ast::BinaryOp::LogAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fork`, `log_and`, `sequential`, `single`
[INFO] [stdout]  --> src/parser.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ast::{binary, fork, log_and, sequential, single, BinaryOp, Command, SingleCommand};
[INFO] [stdout]   |                          ^^^^  ^^^^^^^  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lexer::lex`
[INFO] [stdout]  --> src/parser.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::lexer::lex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tokens::Token::Semicolon`
[INFO] [stdout]  --> src/parser.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tokens::Token::Semicolon;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/executor.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     execv(path.as_c_str(), &[]);
[INFO] [stdout]     |                     ^^^^^ cannot infer type for type parameter `S` declared on the function `execv`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Option<Pid>: From<Process>` is not satisfied
[INFO] [stdout]    --> src/executor.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     waitpid(p, WaitPidFlag::from_bits(WEXITED));
[INFO] [stdout]     |     ^^^^^^^ the trait `From<Process>` is not implemented for `Option<Pid>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nix-0.19.1/src/sys/wait.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn waitpid<P: Into<Option<Pid>>>(pid: P, options: Option<WaitPidFlag>) -> Result<WaitStatus> {
[INFO] [stdout]     |                   ----------------- required by this bound in `nix::sys::wait::waitpid`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <Option<&'a T> as From<&'a Option<T>>>
[INFO] [stdout]               <Option<&'a mut T> as From<&'a mut Option<T>>>
[INFO] [stdout]               <Option<T> as From<T>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `Into<Option<Pid>>` for `Process`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/executor.rs:123:6
[INFO] [stdout]     |
[INFO] [stdout] 120 | unsafe fn execute_single(
[INFO] [stdout]     |           -------------- implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] ...
[INFO] [stdout] 123 | ) -> Result<i32, ProcessSpawnError> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `Result`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<i32, ProcessSpawnError>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/executor.rs:133:16
[INFO] [stdout]     |
[INFO] [stdout] 133 |             Ok(execute(*binary.second, r))
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Option<Pid>: From<()>` is not satisfied
[INFO] [stdout]    --> src/executor.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             waitpid(first, WaitPidFlag::from_bits(WEXITED));
[INFO] [stdout]     |             ^^^^^^^ the trait `From<()>` is not implemented for `Option<Pid>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nix-0.19.1/src/sys/wait.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn waitpid<P: Into<Option<Pid>>>(pid: P, options: Option<WaitPidFlag>) -> Result<WaitStatus> {
[INFO] [stdout]     |                   ----------------- required by this bound in `nix::sys::wait::waitpid`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <Option<&'a T> as From<&'a Option<T>>>
[INFO] [stdout]               <Option<&'a mut T> as From<&'a mut Option<T>>>
[INFO] [stdout]               <Option<T> as From<T>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `Into<Option<Pid>>` for `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `StreamSet` in the current scope
[INFO] [stdout]    --> src/executor.rs:138:58
[INFO] [stdout]     |
[INFO] [stdout] 13  | pub struct StreamSet {
[INFO] [stdout]     | -------------------- method `clone` not found for this
[INFO] [stdout] ...
[INFO] [stdout] 138 |             let second = execute(*binary.second, streams.clone());
[INFO] [stdout]     |                                                          ^^^^^ method not found in `StreamSet`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Option<Pid>: From<()>` is not satisfied
[INFO] [stdout]    --> src/executor.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |             waitpid(second, WaitPidFlag::from_bits(WEXITED));
[INFO] [stdout]     |             ^^^^^^^ the trait `From<()>` is not implemented for `Option<Pid>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nix-0.19.1/src/sys/wait.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn waitpid<P: Into<Option<Pid>>>(pid: P, options: Option<WaitPidFlag>) -> Result<WaitStatus> {
[INFO] [stdout]     |                   ----------------- required by this bound in `nix::sys::wait::waitpid`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <Option<&'a T> as From<&'a Option<T>>>
[INFO] [stdout]               <Option<&'a mut T> as From<&'a mut Option<T>>>
[INFO] [stdout]               <Option<T> as From<T>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `Into<Option<Pid>>` for `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/executor.rs:135:26
[INFO] [stdout]     |
[INFO] [stdout] 135 |           BinaryOp::Seq => {
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 136 | |             let first = execute(*binary.first, streams);
[INFO] [stdout] 137 | |             waitpid(first, WaitPidFlag::from_bits(WEXITED));
[INFO] [stdout] 138 | |             let second = execute(*binary.second, streams.clone());
[INFO] [stdout] 139 | |             waitpid(second, WaitPidFlag::from_bits(WEXITED));
[INFO] [stdout] 140 | |         }
[INFO] [stdout]     | |_________^ expected enum `Result`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<i32, ProcessSpawnError>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Option<Pid>: From<()>` is not satisfied
[INFO] [stdout]    --> src/executor.rs:145:13
[INFO] [stdout]     |
[INFO] [stdout] 145 |             waitpid(second, WaitPidFlag::from_bits(WEXITED));
[INFO] [stdout]     |             ^^^^^^^ the trait `From<()>` is not implemented for `Option<Pid>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/nix-0.19.1/src/sys/wait.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn waitpid<P: Into<Option<Pid>>>(pid: P, options: Option<WaitPidFlag>) -> Result<WaitStatus> {
[INFO] [stdout]     |                   ----------------- required by this bound in `nix::sys::wait::waitpid`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following implementations were found:
[INFO] [stdout]               <Option<&'a T> as From<&'a Option<T>>>
[INFO] [stdout]               <Option<&'a mut T> as From<&'a mut Option<T>>>
[INFO] [stdout]               <Option<T> as From<T>>
[INFO] [stdout]     = note: required because of the requirements on the impl of `Into<Option<Pid>>` for `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/executor.rs:141:27
[INFO] [stdout]     |
[INFO] [stdout] 141 |           BinaryOp::Pipe => {
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 142 | |             let (left, right) = streams.pipe();
[INFO] [stdout] 143 | |             let first = execute(*binary.first, left);
[INFO] [stdout] 144 | |             let second = execute(*binary.second, right);
[INFO] [stdout] 145 | |             waitpid(second, WaitPidFlag::from_bits(WEXITED));
[INFO] [stdout] 146 | |         }
[INFO] [stdout]     | |_________^ expected enum `Result`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<i32, ProcessSpawnError>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/executor.rs:147:29
[INFO] [stdout]     |
[INFO] [stdout] 147 |         BinaryOp::LogAnd => {}
[INFO] [stdout]     |                             ^^ expected enum `Result`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<i32, ProcessSpawnError>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/executor.rs:148:28
[INFO] [stdout]     |
[INFO] [stdout] 148 |         BinaryOp::LogOr => {}
[INFO] [stdout]     |                            ^^ expected enum `Result`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected enum `Result<i32, ProcessSpawnError>`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]    --> src/executor.rs:156:35
[INFO] [stdout]     |
[INFO] [stdout] 154 | /         match cmd {
[INFO] [stdout] 155 | |             Command::Nil => {}
[INFO] [stdout]     | |                             -- this is found to be of type `()`
[INFO] [stdout] 156 | |             Command::Single(c) => execute_single(c, streams),
[INFO] [stdout]     | |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `()`, found enum `Result`
[INFO] [stdout] 157 | |             Command::BinaryExpr(c) => execute_binary(c, streams),
[INFO] [stdout] 158 | |             Command::FileInput(_) => {}
[INFO] [stdout] 159 | |             Command::FileOutput(_) => {}
[INFO] [stdout] 160 | |         }
[INFO] [stdout]     | |_________- `match` arms have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected type `()`
[INFO] [stdout]                found enum `Result<i32, ProcessSpawnError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `traash`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `Command { std: "docker" "inspect" "31a91b99efee472ed9a4ed377a9a031fe56643e9eb0ba9620886a304544119fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31a91b99efee472ed9a4ed377a9a031fe56643e9eb0ba9620886a304544119fe", kill_on_drop: false }`
[INFO] [stdout] 31a91b99efee472ed9a4ed377a9a031fe56643e9eb0ba9620886a304544119fe
